{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import os\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import MultipleLocator, FormatStrFormatter\n",
    "import sys\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Process ForkPoolWorker-2:\n",
      "Process ForkPoolWorker-1:\n",
      "Process ForkPoolWorker-3:\n",
      "  0%|          | 0/442 [00:00<?, ?it/s]Process ForkPoolWorker-4:\n",
      "Process ForkPoolWorker-6:\n",
      "Process ForkPoolWorker-5:\n",
      "Process ForkPoolWorker-7:\n",
      "Process ForkPoolWorker-8:\n",
      "Traceback (most recent call last):\n",
      "Process ForkPoolWorker-9:\n",
      "Process ForkPoolWorker-10:\n",
      "Traceback (most recent call last):\n",
      "Process ForkPoolWorker-11:\n",
      "Process ForkPoolWorker-12:\n",
      "Process ForkPoolWorker-14:\n",
      "Process ForkPoolWorker-13:\n",
      "Process ForkPoolWorker-15:\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "Traceback (most recent call last):\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 108, in worker\n",
      "    task = get()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/queues.py\", line 337, in get\n",
      "    return _ForkingPickler.loads(res)\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n",
      "AttributeError: Can't get attribute 'readdata' on <module '__main__'>\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m/usr/lib/python3.6/multiprocessing/pool.py\u001b[0m in \u001b[0;36mnext\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m    719\u001b[0m             \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 720\u001b[0;31m                 \u001b[0mitem\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_items\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpopleft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    721\u001b[0m             \u001b[0;32mexcept\u001b[0m \u001b[0mIndexError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mIndexError\u001b[0m: pop from an empty deque",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-2-6f2c199a55c7>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m     10\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0mdfs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtqdm\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mimap\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreaddata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtotal\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ml\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     13\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclose\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     14\u001b[0m \u001b[0mp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mjoin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/venv/lib/python3.6/site-packages/tqdm/std.py\u001b[0m in \u001b[0;36m__iter__\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m   1105\u001b[0m                 fp_write=getattr(self.fp, 'write', sys.stderr.write))\n\u001b[1;32m   1106\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1107\u001b[0;31m         \u001b[0;32mfor\u001b[0m \u001b[0mobj\u001b[0m \u001b[0;32min\u001b[0m \u001b[0miterable\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1108\u001b[0m             \u001b[0;32myield\u001b[0m \u001b[0mobj\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1109\u001b[0m             \u001b[0;31m# Update and possibly print the progressbar.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.6/multiprocessing/pool.py\u001b[0m in \u001b[0;36mnext\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m    722\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_index\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_length\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    723\u001b[0m                     \u001b[0;32mraise\u001b[0m \u001b[0mStopIteration\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 724\u001b[0;31m                 \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_cond\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    725\u001b[0m                 \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    726\u001b[0m                     \u001b[0mitem\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_items\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpopleft\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/usr/lib/python3.6/threading.py\u001b[0m in \u001b[0;36mwait\u001b[0;34m(self, timeout)\u001b[0m\n\u001b[1;32m    293\u001b[0m         \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m    \u001b[0;31m# restore state no matter what (e.g., KeyboardInterrupt)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    294\u001b[0m             \u001b[0;32mif\u001b[0m \u001b[0mtimeout\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 295\u001b[0;31m                 \u001b[0mwaiter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0macquire\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    296\u001b[0m                 \u001b[0mgotit\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    297\u001b[0m             \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Process ForkPoolWorker-22:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-30:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-18:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-24:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 448, in _read\n",
      "    parser = TextFileReader(fp_or_buf, **kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 880, in __init__\n",
      "    self._make_engine(self.engine)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1114, in _make_engine\n",
      "    self._engine = CParserWrapper(self.f, **self.options)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1891, in __init__\n",
      "    self._reader = parsers.TextReader(src, **kwds)\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-27:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-19:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-20:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-21:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-16:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-28:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-29:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-17:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-26:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-23:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n",
      "Process ForkPoolWorker-25:\n",
      "Traceback (most recent call last):\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 258, in _bootstrap\n",
      "    self.run()\n",
      "  File \"/usr/lib/python3.6/multiprocessing/process.py\", line 93, in run\n",
      "    self._target(*self._args, **self._kwargs)\n",
      "  File \"/usr/lib/python3.6/multiprocessing/pool.py\", line 119, in worker\n",
      "    result = (True, func(*args, **kwds))\n",
      "  File \"<ipython-input-2-6f2c199a55c7>\", line 9, in readdata\n",
      "    data = pd.read_csv(x, low_memory=False)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 676, in parser_f\n",
      "    return _read(filepath_or_buffer, kwds)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 454, in _read\n",
      "    data = parser.read(nrows)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 1133, in read\n",
      "    ret = self._engine.read(nrows)\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/io/parsers.py\", line 2037, in read\n",
      "    data = self._reader.read(nrows)\n",
      "  File \"pandas/_libs/parsers.pyx\", line 863, in pandas._libs.parsers.TextReader.read\n",
      "  File \"pandas/_libs/parsers.pyx\", line 952, in pandas._libs.parsers.TextReader._read_rows\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1084, in pandas._libs.parsers.TextReader._convert_column_data\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1130, in pandas._libs.parsers.TextReader._convert_tokens\n",
      "  File \"pandas/_libs/parsers.pyx\", line 1173, in pandas._libs.parsers.TextReader._convert_with_dtype\n",
      "  File \"/home/users/huajiang.liu/venv/lib/python3.6/site-packages/pandas/core/dtypes/common.py\", line 542, in is_categorical_dtype\n",
      "    def is_categorical_dtype(arr_or_dtype) -> bool:\n",
      "KeyboardInterrupt\n"
     ]
    }
   ],
   "source": [
    "from tqdm import tqdm\n",
    "from sklearn.utils import shuffle\n",
    "import multiprocessing as mp\n",
    "input_csv_pn = \"/mnt/data-3/huajiang.liu/data/sample\"\n",
    "l = os.listdir(input_csv_pn)\n",
    "l = [os.path.join(input_csv_pn, x) for x in l]\n",
    "p = mp.Pool(15)\n",
    "def readdata(x):\n",
    "    data = pd.read_csv(x, low_memory=False)\n",
    "    return data\n",
    "\n",
    "dfs = list(tqdm(p.imap(readdata, l), total=len(l)))\n",
    "p.close()\n",
    "p.join()\n",
    "df_data = pd.concat(dfs, axis=0, ignore_index=True)\n",
    "p = df_data[df_data[\"label\"]==1]\n",
    "n = df_data[df_data[\"label\"]==-1]\n",
    "sp = df_data[df_data[\"label\"]!=-1 & df_data[\"label\"]!=1]\n",
    "\n",
    "len(p),len(n),len(sp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "input_csv_pn = \"/mnt/data-1/jintian.cai/sample/\"\n",
    "l = os.listdir(input_csv_pn)\n",
    "l = [os.path.join(input_csv_pn, x) for x in l]\n",
    "p_list = []\n",
    "n_list = []\n",
    "sp_list= []\n",
    "for pn in l:\n",
    "    df = pd.read_csv(pn)\n",
    "    p_num = sum(df[\"label\"] == 1)\n",
    "    n_num = sum(df[\"label\"] == -1)\n",
    "    sp_num = sum((df[\"label\"] == 2) | (df[\"label\"] == 3))\n",
    "    p_list.append(p_num)\n",
    "    n_list.append(n_num)\n",
    "    sp_list.append(sp_num)\n",
    "sum(p_list),sum(n_list),sum(sp_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import os\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import MultipleLocator, FormatStrFormatter\n",
    "from matplotlib.pyplot import plot,savefig\n",
    "\n",
    "def draw_time_distribution(sample_df, save_pn):\n",
    "    ids = sample_df.id_0.unique()\n",
    "    id_num = len(ids)\n",
    "    fig=plt.figure(figsize=(12,id_num/2))\n",
    "    # ymajorFormatter = FormatStrFormatter('%1.1f') #设置y轴标签文本的格式\n",
    "    plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=1)\n",
    "    for index,id in enumerate(ids):\n",
    "        df = sample_df[sample_df[\"id_0\"] == id]\n",
    "        ax = fig.add_subplot(id_num, 1, index+1)\n",
    "        ax.yaxis.set_major_locator(plt.NullLocator()) #不显示y轴刻度\n",
    "        for label in df.label.unique():\n",
    "            label_sample_df = df[df[\"label\"]==label]\n",
    "            x = label_sample_df.stamp_9.values\n",
    "            y = label_sample_df.id_0.values\n",
    "            if label == 1:\n",
    "                ax.scatter(x,y,marker=\"o\",color='r',label='positive',s=10)\n",
    "            elif label == 2:\n",
    "                ax.scatter(x,y,marker=\"o\",color='y',label='special',s=10)\n",
    "            elif label == -1:\n",
    "                ax.scatter(x,y,marker=\"o\",color='black',label='negative',s=10)\n",
    "            else:\n",
    "                ax.scatter(x,y,marker=\"o\",color='b',label='negative',s=10)\n",
    "            ax.set_ylabel(\"id:\"+str(id),fontsize=9) #设定横纵坐标label\n",
    "            ax.set_xlabel(\"stamp\",fontsize=10)\n",
    "    fig.suptitle(\"Time dimension  P:red N:black sp:yellow others:blue\")                                       # 设置大图标题\n",
    "    savefig(save_pn)\n",
    "def draw_delta_time_distribution(sample_df, save_pn):\n",
    "    ids = sample_df.id_0.unique()\n",
    "    id_num = len(ids)\n",
    "    fig=plt.figure(figsize=(12,id_num/2))\n",
    "    # ymajorFormatter = FormatStrFormatter('%1.1f') #设置y轴标签文本的格式\n",
    "    plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=1)\n",
    "    for index,id in enumerate(ids):\n",
    "        df = sample_df[sample_df[\"id_0\"] == id]\n",
    "        ax = fig.add_subplot(id_num, 1, index+1)\n",
    "        ax.yaxis.set_major_locator(plt.NullLocator()) #不显示y轴刻度\n",
    "        df[\"stamp_9\"] = df[\"stamp_9\"]-df.stamp_9.min()\n",
    "        for label in df.label.unique():\n",
    "            label_sample_df = df[df[\"label\"]==label]\n",
    "            x = label_sample_df.stamp_9.values\n",
    "            y = label_sample_df.id_0.values\n",
    "            if label == 1:\n",
    "                ax.scatter(x,y,marker=\"o\",color='r',label='positive',s=10)\n",
    "            elif label == 2:\n",
    "                ax.scatter(x,y,marker=\"o\",color='y',label='special',s=10)\n",
    "            elif label == -1:\n",
    "                ax.scatter(x,y,marker=\"o\",color='black',label='negative',s=10)\n",
    "            else:\n",
    "                ax.scatter(x,y,marker=\"o\",color='b',label='negative',s=10)\n",
    "            ax.set_ylabel(\"id:\"+str(id),fontsize=9) #设定横纵坐标label\n",
    "            ax.set_xlabel(\"stamp\",fontsize=10)\n",
    "    fig.suptitle(\"Time delta dimension  P:red N:black sp:yellow others:blue\")                                       # 设置大图标题\n",
    "    savefig(save_pn)\n",
    "#     plt.close()\n",
    "def draw_spatial_distribution(sample_df,save_pn):\n",
    "    ids = sample_df.id_0.unique()\n",
    "    id_num = len(ids)\n",
    "    fig=plt.figure(figsize=(12,id_num/2))\n",
    "    # ymajorFormatter = FormatStrFormatter('%1.1f') #设置y轴标签文本的格式\n",
    "    plt.subplots_adjust(left=None, bottom=None, right=None, top=None, wspace=None, hspace=1)\n",
    "    for index,id in enumerate(ids):\n",
    "        df = sample_df[sample_df[\"id_0\"] == id]\n",
    "        ax = fig.add_subplot(id_num, 1, index+1)\n",
    "        ax.yaxis.set_major_locator(plt.NullLocator()) #不显示y轴刻度\n",
    "        for label in df.label.unique():\n",
    "            label_sample_df = df[df[\"label\"]==label]\n",
    "            x = label_sample_df.x_9.values\n",
    "            y = label_sample_df.id_0.values\n",
    "            if label == 1:\n",
    "                ax.scatter(x,y,marker=\"o\",color='r',label='positive',s=10)\n",
    "            elif label == 2:\n",
    "                ax.scatter(x,y,marker=\"o\",color='y',label='special',s=10)\n",
    "            elif label == -1:\n",
    "                ax.scatter(x,y,marker=\"o\",color='black',label='negative',s=10)\n",
    "            else:\n",
    "                ax.scatter(x,y,marker=\"o\",color='b',label='negative',s=10)\n",
    "        ax.set_ylabel(\"id:\"+str(id),fontsize=9) #设定横纵坐标label\n",
    "        ax.set_xlabel(\"x(m)\",fontsize=10)\n",
    "#         ax.text(df.stamp_9.max()+0.5,df.id_0.values[0],\" :\",fontsize=5,horizontalalignment='center')\n",
    "    fig.suptitle(\"Spatial  dimension  P:red N:black sp:yellow others:blue\")                                       # 设置大图标题\n",
    "    savefig(save_pn)\n",
    "    plt.close() # 该设置可以设置是否显示图片"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x36 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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ZyKJ2mpRURHLly+Prle3bt2YM2cOO3fujJaP3YYAv/rVr3jzzTfJzs4mNzeXv/zlLwmXm56eTlpaWp1YE23/RIqLizl48CDnnXdeNMbLL7+c4uLiI6rHubausU7u/vC8qK4AkrpIugk4cPxDc671y8rKokOHDpSUlFBaWkppaSn79+8nPz8/bvnevXuzZcuW6HTk8PCJjqO+yy67jCVLlrBjxw5ycnK48847DyvTp08fioqK6qRt3ry5RQ6PSqoznZWVxaJFi6LrXlpayqFDh+jbt+9h2/zgwYP885//bNJybrvtNkpLS5k3b16jZet/rykpKWRk1D0luaKigi9/+cs88MAD7Nq1i9LSUq688srIkTOysrLYuHFjwmVMnz6djIwMJk6cSE1NTcJyEydO5L333qOoqAhJTJkyJW6ctbW1bN26NXraR33XXnstq1atYs2aNSxcuJBJkyZF4zya9paRkUFKSkqddhTbhoYMGUJqairPPPMMF198MV26dCEzM5Pnn3+e0aNH067d4X+yGquzfltpTFZWFrm5uXXaUllZGc8991y0TP06L7jgAubPn8/u3bu59tprmTBhQv1qo/bu3Ut5eXmdWONt/7S0NA4ePBidju1kZ2Rk0KlTJ/Lz86Mx7tu374j+qXTuZNBYJ/cW4ExgkaQPgbcIRnFvOd6BOfdZ0Lt3b/Ly8vjGN77B/v37qa2tZePGjSxbtixu+QkTJvDEE0+wd+9etm7dyjPPPNMiccTatWsX8+fPp7y8nA4dOnDKKafE7UxceeWVrF+/nrlz51JdXc1rr73G2rVrufrqFrnTVx333HMPU6dOjXZ0iouLmT9/PgDjx49n4cKFvPfee1RWVvLII49QW1vbpHqTk5N59NFHefLJJxstO3v2bNauXcvBgwd55JFHGD9+fHTUPaKyspKKigp69uxJcnIyixYtYvHiTy9xuOOOO5g1axbvvPMOtbW1bNu2rc6oekpKCr/85S8pLy/nlltuibse69at4/e//z0VFRV07NiRTp061fk+V6xYwbx586iurmbGjBl06NCBUaNGxV2njh07Mn78eCZOnMjIkSPp378/cPTtLSkpiQkTJjB16lQOHDhAUVERTz31FF/5yleiZXJzc/nxj39Mbm5wzd+YMWPqTB9pnb169WLr1q1UVlY2GFvE1Vdfzfr163nllVeoqqqiqqqK999/nw8//DBu+crKSubMmcO+fftISUmhS5cucX8/saZNm0ZlZSXvvvsuCxcu5Prrrz+szNlnn01+fj4rV67k0KFDTJ8+PZrXrl077rzzTu6///7o6Pm2bdt4++23m7SOzp0sGvwlmtleM3vIzL5gZsPC94fMbM+JCtC51u7ll1+msrKSM844g/T0dMaPH8+OHTvilp02bRrZ2dkMHDiQvLy86OHfEx1HrNraWp566in69OlD9+7dWbZsWZ1Rq4gePXqwcOFCfvjDH9KjRw++973vsXDhwsNGK4+HU045hXfffTdh/te//nWuueYa8vLy6Ny5M6NGjWL58uUADB8+nGeffZaJEyfSu3dv0tPTm3QxXMRNN91E796966R997vf5YorrqiTdvPNN3PrrbeSmZnJoUOHePrppw+rq3Pnzjz99NNMmDCB9PR05s6dyzXXXBPNHzlyJLNmzeL++++na9eu5ObmHjZ63r59e+bNm8euXbu4/fbbD+voVlRU8OCDD0YvUNy9ezdPPPFENH/cuHG89tprpKen88orrzBv3jxSUlKA4J+Fe+65p059kydPZvXq1Ye11aNtb8888wxpaWkMGjSI0aNHM3HiRG6//fZofm5uLgcOHODiiy+OO32kdV566aUMHz48eiFaYzp37szixYt59dVX6dOnD5mZmUyZMiV6AV88r7zyCgMGDKBLly7MnDmTOXM+vSth/babmZlJeno6ffr0YdKkScycObPOxWURp512Go888ghjx45l6NChjB49uk7+k08+yZAhQxg1ahRdunRh7NixrFu3rtH1c+5k0ujdFeLOFNw8P+69Rc8//3z74IMPjjkw55xzzWv69Ols2LAhep5tU2zevJmcnBx27twZ924UzjnXkiStMLPz4+Ud7X1yD7+awjnnXJsSGeW/8cYbvYPrnPvMOaonBZmZn/jjnHNtWHl5Ob169SI7O5u33nqrpcNxzrkj1uDpCpL6Ak8SPAyiB5APvAM8amafxJvHT1dwzjnnnHMnwrGcrvAC8DTQH7geeJegk9s8l4Q755xzzjl3HDTWyU01s7+FD5V4A/icmS0BGr6DfQsoKVnA+vX3UlKy4JjLNWddzrk2asECuPfe4P1YyrRUudYcW3OXa82xNbVca46tuct5bK2jXHMvsyUkehRaeBrD88D/B24HXgOmhelLE83TEo/1LS6eb8uWpdrSpdiyZalWXDz/qMs1Z13OuTZq/nyz1FQzCN7nx/n9N6VMS5VrzbH5uraOZfq6to5ltpV1PY442sf6mtldwNsE5+POMrNHw6zrjlOf+6js2bOY2trgyTC1tQfZs2fxUZdrzrqcc23U4sUQeRrVwYPB9NGUaalyrTm25i7XmmM7mdahqeU8ttZRrrmX2UIavYWYmc03s++b2VsAkq4ys9LjH1rTde+eR7t2qQC0a5dK9+55R12uOetyzrVReXmQGvz+SU0Npo+mTEuVa82xNXe51hzbybQOTS3nsbWOcs29zBbS2N0VvlU/CbgZeNnMvhtvnpa6u0JJyQL27FlM9+55ZGRcc0zlmrMu51wbtWBBMGqRlwfXJPj9N6VMS5VrzbE1d7nWHNvJtA5NLeextY5yzb3M46Shuys01sldD3wI/IqggwvwDeAHZvZyvHn8FmLOOeecc+5EOJZbiJ0BLAYmAFvN7Ofhe9wOrnPOOeecc61BYxeeVZvZs8ANwL9Img90PSGROeecc845d5Sa9FhfMysHpks6FTjr+IbknHPOOefcsWn07goAkoYDmNluM3snMu2cc84551xr1KROLnB1I9POOeecc861Gk3q5JrZkw1NO+ecc84515o0eE6upGlA3HuMmdljxyUi55xzzjnnjlFjI7kbgI3AcKAfsA3oAww+znE555xzzjl31BocyTWzOQCSbjSzG8LkFyW9cdwjc84555xz7ig19cKzUyWNVGAkkHE8g3LOOeecc+5YNPhY32ghaRjwBDCE4BSGb5nZ2gRli4Gi5gyyARlAyQlalmvbvC255uJtyTUXb0uuObXV9pRtZj3jZTTYyZX0fTP7pqQl9bLMzPKaM8KjIemDRM8rdu5IeFtyzcXbkmsu3pZcczoZ21NjTzz7Qfj+1eMdiHPOOeecc82lsQvPdoXvJ+r0A+ecc845545ZUy88a62eb+kAXJvhbck1F29Lrrl4W3LN6aRrT0268Mw555xzzrnPks/6SK5zzjnnnHOHaZWdXElJkv5L0sJw+iVJmyStDF/nhOmS9LSkDZJWSTo3po7JkgrC1+SWWhfXciQVSlodtpkPwrTukpaE7WKJpPQw3duSSyhBW5ouaVvMfunKmPIPhW1pnaTLYtIvD9M2SHqwJdbFtTxJ3SS9LukjSR9K+rzvm9zRSNCWfN8UYWat7gX8X2AusDCcfgkYH6fclcAiQMAoYHmY3h34OHxPDz+nt/R6+euEt6NCIKNe2veAB8PPDwJPhp+9LfnrSNvSdOCBOGXPAP4BdAAGEjwaPSl8bQQGAe3DMme09Lr568S/gJ8DXw0/twe6+b7JX83YlnzfFL5a3UiupH7AVcALTSg+DnjZAn8FuknqDVwGLDGzPWa2F1gCXH7cgnafJeMIdgqE79fGpHtbcs1hHPCqmVWY2SaCB+iMDF8bzOxjM6sEXg3LupOIpK7AxcCLAGZWaWal+L7JHaEG2lIiJ92+qdV1coEZwL8BtfXSvxMeqvkPSR3CtL7AlpgyW8O0ROnu5GLAYkkrJN0VpvUysx3h551Ar/CztyXXkHhtCeDecL/0s8jhZbwtuYYNBIqBWeFpeS9ISsP3Te7IJWpL4PsmoJV1ciVdDew2sxX1sh4CcoALCA7NTDnRsbnPpNFmdi5wBfCvki6OzbTg+I3fXsQ1Rby29BwwGDgH2AH8sAXjc58dycC5wHNm9jmgnOD0hCjfN7kmStSWfN8UalWdXOAi4BpJhQTD5ZdKmm1mO8JDNRXALIKhdYBtQFbM/P3CtETp7iRiZtvC993Arwnaza7wUB/h++6wuLcll1C8tmRmu8ysxsxqgZ/i+yXXNFuBrWa2PJx+naCj4vsmd6TitiXfN32qVXVyzewhM+tnZgOAG4Hfm9lXYn74IjhPaU04ywLglvDq01HAvvBwz9tAnqT0cJg+L0xzJwlJaZI6Rz4TtIE1BG0mchXyZGB++NnbkosrUVuK7JdC11F3v3SjpA6SBgJDgb8B7wNDJQ2U1J5gH7fgRK2Hax3MbCewRdLpYdIXgbX4vskdoURtyfdNn2rwsb6tyBxJPQmuLl0J3BOmv0lw5ekG4CBwG4CZ7ZH0OMEXB/CYme05sSG7FtYL+HXwfxHJwFwze0vS+8AvJN0BFAETwvLellwiidrSKwpuZ2gEd1+4G8DM8iX9gqDjUg38q5nVAEi6l6AjkgT8zMzyT/TKuFbhawR/19oT3BXhNoJBJ983uSMVry097fumgD/xzDnnnHPOtTmt6nQF55xzzjnnmoN3cp1zzjnnXJvjnVznnHPOOdfmeCfXOeecc861Od7Jdc4555xrIZKul5QvqVbS+Q2U6ybpdUkfSfpQ0ufD9MfDp5utlLRYUp8wPUfSXyRVSHogTn1J4ZPSFsakvSjpH2F9r0s6JSZvgqS1Yaxzw7RLwuVGXockXRvmvSRpU0zeOY1shx6Slkoqk/TjmPRUSW+E650v6d+bum29k+ucc8eRpPskpbZ0HM65lidpjKSX6iWvAf4n8MdGZv8R8JaZ5QBnAx+G6d83sxFmdg6wEHgkTN8D/B/gBwnq+3pMHRH3m9nZZjYC2AzcG8Y9lODpsxeZ2XDgPgAzW2pm54TLvpTgNneLY+r7ZiTfzFY2sn6HgIeBwzrkwA/C9f4ccJGkKxqpC/BOrnPOHW/3Ad7Jdc7FZWYfmtm6hspI6gpcDLwYzlNpZqXh5/0xRdMIHwltZrvN7H2gKk59/YCrgBfqxbI/zBfQiU8fL30n8KyZ7Y3UHSfM8cAiMzvYyLqkSfqZpL+FI8njwjrLzew9gs5ubEwHzWxpZL2BvxM8la1R3sl1zrlmEu683wgP962RNA3oAyyVtDQs85ykD8LDbo/GzFso6YnwsN4Hks6V9LakjZLuCcuMkfTHcBnrJM2U5Ptx59q+gUAxMCvsGL6g4AmMAEj6jqQtwCQ+HcltyAzg34Da+hmSZgE7gRzgmTD5NOA0SX+S9FdJl8ep80bgP+ulfSc89eE/JHUI06YSPNF2JHAJ8P3YdWmIpG7Al4B3mlLed47OOdd8Lge2h4f7ziT4Q7IduMTMLgnLTDWz84ERQK6kETHzbw4P+70LvEQwMjIKeDSmzEiCpxydAQwmOMzpnGvFJC2XtJJg5PSamPNUL2tiFcnAucBzZvY5oBx4MJJpZlPNLAuYQ3iKQQOxXA3sNrMV8fLN7DaCf84/BG6IWf5QYAxwE/DTsMMZqbM3cBZ1Hy39EEFH+QKgOzAlTM8DHgy3xx+AjkD/Btc+WEYyQSf6aTP7uLHy4J1c55xrTquB/yHpSUn/Ymb74pSZIOnvwH8Bwwk6qxGR58WvBpab2QEzKwYqYv6g/M3MPg4fx/mfwOjjsyrOueZiZheG/8B+FVgQc57q243NG9oKbDWz5eH06wSd3vrmAF9upK6LCDrahcCrwKWSZteLtybMi9S1NYy7ysw2AesJOr0RE4Bfm1lVTB07LFABzCL4Bx1AwJdjtkF/M6t/bnA8zwMFZjajCWUB7+Q651yzMbP1BH94VgPfllTnsKGkgQQXVXwxvLDjDYJRjIiK8L025nNkOjmymPqLbZ7onXOtlZntBLZIOj1M+iKwFqIXhUWMAz5qpK6HzKyfmQ0gOMXg92b2FQWGhHUKuCamrt8QjOIiKYPg9IXY0dSbqHeqQji6G6nrWoIL7CAY7f1amI6kzzW2/pK+DXQlvOCtqZIbL+Kcc64pwlv37DGz2ZJKCUZtDgCdgRKgC8Fhxn2SegFXEByuOxIjw85yEcGhxOebKXznXAuQdB3Bua89gTckrTSzy8L9yQtmdmVY9GvAHEntCTqYt4Xp/x52fmsJ9guRc/gzgQ8I9ju1ku4Dzqh3oVqdUICfS+oSfv4H8L/CvLeBPElrgRqCuyb8M1zOACALWFavvjmSeoZ1rYzEBTxOcCrXqvCagk3A1WFdhWG87cNbkeUB+wnO4/0I+HvYN/6xmdW5aC7uCpn5IIBzzjWH8Py67xP8saki+APxeYJz5Lab2SXh7YO+AGwB9hEcAnwp3Lmfb2Ylkm4NP0du31MInA+cCTxG0HEeAiwF/reZHXbxiHPOney8k+ucc58RksYAD5jZ1S0di3POtXZ+Tq5zzjnnnGtzfCTXOeecc861OT6S65xzzjnn2hzv5DrnnHPOuTbHO7nOOeecc67N8U6uc84555xrc7yT65xzzjnn2hzv5DrnnHPOuTbnvwHo/wjBSLPWOgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 864x36 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "input_csv_pn = \"/mnt/data-1/jintian.cai/highway_relabel/\"\n",
    "sample_df = pd.read_csv(\"/mnt/data-1/jintian.cai/highway_relabel/ADAS_20210912-165129_361_5_sample.csv\")\n",
    "\n",
    "draw_delta_time_distribution(sample_df, \"/home/users/huajiang.liu/codes/tmp/image/a.png\")\n",
    "draw_spatial_distribution(sample_df, \"/home/users/huajiang.liu/codes/tmp/image/b.png\")\n",
    "draw_time_distribution(sample_df, \"/home/users/huajiang.liu/codes/tmp/image/a.png\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/users/huajiang.liu/venv/lib/python3.6/site-packages/ipykernel_launcher.py:44: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "process image0/442\n",
      "process image1/442\n",
      "process image2/442\n",
      "process image3/442\n",
      "process image4/442\n",
      "process image5/442\n",
      "process image6/442\n",
      "process image7/442\n"
     ]
    }
   ],
   "source": [
    "input_csv_pn = \"/mnt/data-3/huajiang.liu/data/sample\"\n",
    "lna = os.listdir(input_csv_pn)\n",
    "l = [os.path.join(input_csv_pn, x) for x in lna]\n",
    "p_list = []\n",
    "save_pn = \"/home/users/huajiang.liu/codes/tmp/0220fusion\"\n",
    "total_num = len(l)\n",
    "for index, pn in enumerate(l):\n",
    "    df = pd.read_csv(pn)\n",
    "    p_num = sum(df[\"label\"] == 1)\n",
    "    pack_name = lna[index]\n",
    "    pack_name = pack_name.split(\".\")[0]\n",
    "    time_path = save_pn + \"/\" + pack_name + \"_time.png\"\n",
    "    delta_time_path = save_pn + \"/\" + pack_name + \"_deltatime.png\"\n",
    "    spatial_path = save_pn + \"/\" + pack_name + \"_spatial.png\"\n",
    "    draw_time_distribution(df, time_path)\n",
    "    draw_delta_time_distribution(df, delta_time_path)\n",
    "    draw_spatial_distribution(df, spatial_path)\n",
    "    print(\"process image{}/{}\".format(index,total_num))\n",
    "    if p_num > 0:\n",
    "        p_list.append((p_num, pn))\n",
    "    if index > 500:\n",
    "        break\n",
    "p_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-130135_853_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-191458_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-120536_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-102307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-150659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-195316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-230018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-104801_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-124635_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-125635_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211205-134947_195_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-160629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-124036_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-171129_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-143129_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-140050_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211128-074221_952_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-121036_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211020-124531_958_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-175608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-110307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-192816_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-150607_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-191339_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-234851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-180816_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-174117_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-051420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-033420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-150910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-092247_330_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-135050_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-161910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-180117_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-091747_330_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-155935_177_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-153410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-100508_300_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211028-172539_655_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211028-173539_655_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-160910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-150629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-020950_336_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-140541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-010217_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-170910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-175108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211128-075221_952_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211205-135447_195_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-172757_159_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-181458_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-175816_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-191839_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-214518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-031920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-152607_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-093816_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-171910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-171257_159_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-154659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-150129_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-174910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-002851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-140659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-154417_298_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-135550_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-092420_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-033920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-160659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-121536_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-150600_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-155629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211020-125531_958_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-162435_177_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-161629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-175117_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-230518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-154435_177_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-144600_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-093316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-163435_177_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-170339_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-225824_219_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211020-131531_958_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-133541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-160410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-164333_090_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-115359_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-113859_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211128-073721_952_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-101307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-212018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-140159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-220018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-083247_330_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-123036_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-210816_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-201316_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-172410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-131541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-143410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-090420_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-093920_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-161129_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-130635_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-124135_853_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-172339_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-143629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-121050_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-153435_177_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-205018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-180617_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-140410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-181839_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-131550_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-114859_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-163629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-110301_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-145107_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-220518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-174839_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-144910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-134541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-151659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-155659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-194339_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-132541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-134041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-144659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-153917_298_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-022450_336_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-091247_330_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-121307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-171629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-151629_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-175958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-144100_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-112859_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-174108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-182316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211205-122931_166_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-194958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-015529_961_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-110859_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-183316_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-145600_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-140600_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-122050_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-113307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-124536_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-185316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-135541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-135910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-145129_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-225018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-141541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-180316_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-163833_090_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-154629_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-115210_324_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-153107_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-042920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-150159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-152129_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-144410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-112807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-030920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-112301_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211020-125031_958_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-194316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-100008_300_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-224018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-053420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-164410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-001851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-152107_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-171410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-172608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-114541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-105307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-161159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-194458_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-142100_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-092316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-134910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-141600_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-151607_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-163333_090_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-141100_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-184316_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-121807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-150107_774_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-101807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-095807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-140041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-090316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-142910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-184816_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-102807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-153910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-131135_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211128-073221_952_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-121550_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-120550_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-204018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-133041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-182410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-202316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-165129_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-162159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211128-072721_952_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-172108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-235351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-183117_168_8_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-123541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-211018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-152659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-193316_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-170129_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-084747_330_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-181958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-154935_177_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-002351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-165910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-164129_361_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-145159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-145629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-185839_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-162410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-205257_749_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-152159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-145100_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-221018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-084920_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211017-043920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-155159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-123536_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-192958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-205316_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-134159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-180958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-135135_853_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-151917_298_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-090247_330_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-165629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-204816_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-233851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211013-143600_460_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-122536_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-150410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-091420_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-180458_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-174617_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-143910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-224518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-193816_582_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-201816_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-085816_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-182617_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-173339_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-104359_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211128-074721_952_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-085420_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-133159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-211316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210901-153417_298_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-102008_300_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-181339_880_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-181316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-093307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-133635_853_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-135041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-134659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-112359_000_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-162629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-101008_300_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-134135_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-133659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-210316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-162910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-213316_582_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-133135_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-193958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-102508_300_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-175617_168_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-173608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211016-223018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211126-091920_556_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-120036_242_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-132635_853_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-191958_708_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211125-173108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-114307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210912-164629_361_6_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211204-120050_059_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-151159_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211023-161659_281_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20210914-184604_412_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211127-210257_749_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-114807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/highway_samples_0214/ADAS_20211123-163910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-102307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-230018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-104801_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-210518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-092807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-103307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-175608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-110307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-234851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-051420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-033420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-150910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-215518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-161910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-003851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-153410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-131041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-160910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-020950_336_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-164910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-140541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-010217_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-170910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-175108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-175410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-205757_749_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-092816_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-214518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-031920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-233351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-093816_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-171910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-174910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-002851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-012717_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-091316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-033920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-122807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-182910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-030420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-145910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-230518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-013717_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-142410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-093316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-014450_336_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-133541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-152410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-160410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-111807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-101307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-212018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-010717_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-220018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-120541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-172410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-131541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-143410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-181910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-180910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-012217_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-205018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-140410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-223518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-110301_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-220518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-174410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-144910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-112801_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-134541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-132541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-134041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-022450_336_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-004351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-121307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-175910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-173910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-174108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-214018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-172910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-113307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-135541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-135910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-225018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-141541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-042920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-144410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-112807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-030920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-112301_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-224018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-053420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-164410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-034920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-174608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-001851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-100307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-171410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-172608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-114541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-203518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-105307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-034420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-095316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-092316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-134910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-090816_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-103807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-121807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-101807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-095807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-140041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-105301_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-090316_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-142910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-102807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-153910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-000851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-204018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-133041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-212518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-182410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-130041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-013217_947_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-225518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-222518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-172108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-235351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-123541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-211018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-115041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-234351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-111801_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-232851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-002351_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-165910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-162410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-205257_749_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-104307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-203018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-221018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-043920_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-042420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-094307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-035420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-233851_171_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-105801_567_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-231518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-121541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-150410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-143910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-224518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-205518_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-085816_820_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-180108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-215018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-054420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-082145_697_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-082645_697_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-093307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-122541_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-135041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-031420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-162910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-173608_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-095307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211017-041420_941_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-111307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-100807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-123041_633_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211016-223018_028_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-151910_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211125-173108_804_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-114307_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-180410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211127-210257_749_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-173410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-114807_151_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-163410_657_5_sample.csv',\n",
       " '/mnt/data-1/jintian.cai/DG101/ADAS_20211123-163910_657_5_sample.csv']"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def get_data_pn(input_csv_pn):\n",
    "    l = []\n",
    "    if isinstance(input_csv_pn, list):\n",
    "        for pn in input_csv_pn:\n",
    "            if os.path.isfile(pn):\n",
    "                l.append(pn)\n",
    "            elif os.path.isdir(pn):\n",
    "                l_pn = os.listdir(pn)\n",
    "                l_pn = [os.path.join(pn, x) for x in l_pn]\n",
    "                l = l + l_pn\n",
    "    elif os.path.isfile(input_csv_pn):\n",
    "                l.append(input_csv_pn)\n",
    "    elif os.path.isdir(input_csv_pn):\n",
    "        l_pn = os.listdir(input_csv_pn)\n",
    "        l_pn = [os.path.join(input_csv_pn, x) for x in l_pn]\n",
    "        l = l + l_pn\n",
    "\n",
    "    return l\n",
    "get_data_pn([\"/mnt/data-1/jintian.cai/highway_samples_0214/\",\"/mnt/data-1/jintian.cai/DG101\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[7, 9, 10, 8, 6, 4, 1, 5, 2, 3]"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import random\n",
    "a = [1,2,3,4,5,6,7,8,9,10]\n",
    "\n",
    "random.shuffle(a)\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 2, 4, 3]"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "138"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "random.seed(1)\n",
    "random.randint(1, 1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'model5'"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f\"model\" + str(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
